package com.zw.a.basic.a08.demo04_exercise;

import java.util.Scanner;

//案例: 统计各类型字符的次数
public class Demo03 {
    public static void main(String[] args) {
        /*
            需求:
                键盘录入一个字符串, 统计该字符串中大写字母字符, 小写字母字符, 数字字符出现的次数.
                注意: 不考虑其他字符, 例如@, !, \, /等
         */
        //1. 提示用户录入并接收.
        Scanner sc = new Scanner(System.in);
        System.out.println("请录入一个字符串: ");
        String str = sc.nextLine();
        //2. 定义三个int类型的变量, 分别表示: 大写字母字符, 小写字母字符, 以及数字字符的次数.
        int bigCount = 0, smallCount = 0, numberCount = 0;
        //3. 通过for循环, 遍历字符串, 获取到每一个字符.
        for (int i = 0; i < str.length(); i++) {
            //获取到每一个字符
            char ch = str.charAt(i);
            //4. 判断当前遍历到的字符属于哪种字符, 是哪种, 对应的计数器就++
            if (ch >= 'A' && ch <= 'Z') {
                //大写字母字符
                bigCount++;
            } else if(ch >= 'a' && ch <= 'z') {
                //小写字母字符
                smallCount++;
            } else if(ch >= '0' && ch <= '9') {
                //数字字符
                numberCount++;
            }
        }

        //5. 循环结束后, 打印各个计数器的值即可.
        System.out.println("大写字母字符的个数: " + bigCount);
        System.out.println("小写字母字符的个数: " + smallCount);
        System.out.println("数字字符的个数: " + numberCount);
    }
}
